A mobile network is typically divided into different domains as illustrated in the exemplary communication network of FIG. 1. A mobile device 1 (termed herein a User Equipment, UE) is provided with an operating system 2, and for example, a web browser 3, App x 5, and App y 6. The Apps are software running or stored at the UE 1 that can request data services.
The UE 1 connects via an eNodeB (eNB) or Radio Network Controller (RNC) 6 to a mobile operator Radio Access Network (RAN) 7. The eNB and RNC are used by way of example only. It will be appreciated that any type of NodeB or network controller can be used depending on the Radio Access Technology (RAT) of the RAN 7. For example, in a Wi-Fi network the UE 1 (referred to as a Station in Wi-Fi) would connect via an Access Point (AP) and Access Controller (AC).
The mobile core network domain 9 includes mobile core nodes that link the RAN 7 to the service network 10. Examples of such nodes include a Serving Gateway (SGW), Packet Data Network Gateway (PGW) 8 and so on. The service network 10 includes functions such as a control plane function 11, a user plane function 12, and a Network Address Translation (NAT) function 13. Finally, user plane traffic reaches servers 14, 15 in the Internet 16 domain.
User plane traffic can be sent between App x 4 and its corresponding server 14, and between App y 5 and its corresponding server 15. Examples of servers are cache servers, video servers, web server, analytics servers and so on. It will be appreciated that many different types and combinations of servers can be used to provide services to Apps at the UE 1. Signalling between the servers 14, 15 and the Apps 4, 5 traverses the RAN 7, the Core network 9 and the service network 10.
There is a current desire to more closely link RAN 7 and service functionality together in order to optimize service delivery and radio resource usage. For example, data packets sent from a server 14 could be delayed if the RAN 7 is currently congested and experiencing delays. Access specific information is therefore useful for the server 14. It is also possible that the RAN 7 can make use of information relating to the server 14. Such information could be used, for example, for resource reservation.
One example where data destined for App x 4 and App y 5 in the UE 1 is an Adaptive Bit Rate feature. In this example, App x 4 is a video client which can decode video at different bit rates. End user experience or Quality of Experience (QoE) is a key differentiator for mobile operators and content providers. Adaptive Bit Rate allows a good QoE by adapting the bit rate by changing to an encoded format with a suitable bit rate depending on network conditions. Currently this is achieved by trying to estimating the throughput between the server 14 and App x 4 in the UE 1. This can be based on a measured link bit rate or round trip time. The frequency of adapting the bit rate varies. A typical interval for adaptive video streaming is around every 4 seconds.
Adaptive Bit Rate is implemented without any knowledge of conditions or capabilities of the RAN 7. Estimates of round trip time (RTT), bit rate and so on can give a misleading picture of conditions in the RAN 7. Furthermore, it takes some time for the end points to detect that there is a need to adapt to a lower or higher bit rate, and the interval between adaptations change is fairly long. This increases the risk of a poor QoE.
While the above example refers to adaptive bit rate for video services, it will be appreciated that similar issues arrive when delivering data services of any sort. For example, in order to improve QoE when delivering services in a congested network, an image could be sent at a lower resolution, an audio stream could be sent at a lower quality, a video could be sent using smaller frames. It will be appreciated that many service delivery parameters can be changed to optimize the service delivery, depending on the nature of the data being delivered.
There are initiatives to improve QoE by having RAN interaction with the service providers. In the above example network, there might be interaction between the RAN 7 and the servers 14, 15 to exchange and provide information to optimize the service delivery. Difficulties in implementing this include addressing problems, since no common identifier is easily available between the RAN 7 and the servers 14, 15, mainly due to the use of Network Address Translation (NAT) which modifies the UE IP address and disqualifies that identifier. Also there are scalability issues, as a server 14 may see connections from several hundred mobile networks, so it not trivial to determine the identity of the RAN with which network to establish a session for interaction and if the RAN supports the feature. Also it might be difficult to modify servers 14, 15 to use such an interaction protocol and to use information received from a RAN 7. Furthermore, not all protocols support adaptation such as adaptive bit rate.